package Mobile

import (
	"ali-hr/Services/Mobile"
	"ali-hr/Util"
	"github.com/gin-gonic/gin"
	"strconv"
)

/**
 * Created by Goland
 * User: wkk alisleepy@hotmail.com
 * Time: 2022/7/7 - 00:30
 * Desc: <手机管理相关>
 */

func Index(c *gin.Context) {
	Util.OkWithMessage("手机借用管理平台，created by：wangkaikai01@baidu.com", c)
}

/*-------------- 手机相关操作 start--------------*/

// MobileList 手机列表
func MobileList(c *gin.Context) {
	brand := c.DefaultQuery("brand", "")
	model := c.DefaultQuery("model", "")
	currentOwner := c.DefaultQuery("current_owner", "")
	pageIndex, err1 := strconv.Atoi(c.Query("page_index"))
	pageSize, err2 := strconv.Atoi(c.Query("page_size"))
	if err1 != nil || err2 != nil {
		Util.FailWithMessage("参数异常", c)
		return
	}

	var filters = make(map[string]interface{})
	filters["brand"] = brand
	filters["model"] = model
	filters["current_owner"] = currentOwner

	data, count := Mobile.GetMobileList(filters, pageSize, pageIndex, false)
	var result = make(map[string]interface{})
	result["data"] = data
	result["count"] = count
	Util.OkWithData(result, c)
}

// AddMobile 添加手机
func AddMobile(c *gin.Context) {

}

// EditMobile 编辑手机
func EditMobile(c *gin.Context) {

}

// LendMobile 借手机操作
func LendMobile(c *gin.Context) {
	mobileId, _ := strconv.Atoi(c.PostForm("mobile_id"))
	currentOwner := c.PostForm("user_name")
	if mobileId == 0 {
		Util.FailWithMessage("请选择要借用的手机", c)
		return
	}
	if currentOwner == "" {
		Util.FailWithMessage("请输入借用者姓名", c)
		return
	}
	// 借手机操作
	ok := Mobile.LendMobile(mobileId, currentOwner)
	if !ok {
		Util.FailWithMessage("借手机机操作失败", c)
		return
	}

	Util.OkWithMessage("借出成功", c)
}

// ReturnMobile 还手机操作
func ReturnMobile(c *gin.Context) {
	mobileId, err1 := strconv.Atoi(c.PostForm("mobile_id"))
	if err1 != nil {
		Util.FailWithMessage("非法参数", c)
		return
	}

	// 还手机操作
	ok, msg := Mobile.ReturnMobile(mobileId)
	if !ok {
		Util.FailWithMessage(msg, c)
		return
	}

	Util.OkWithMessage("操作成功", c)
}

/*-------------- 手机相关操作 end--------------*/

/*-------------- 用户相关操作 start--------------*/

// UserList 用户列表
func UserList(c *gin.Context) {
	name := c.DefaultQuery("name", "")
	filters := make(map[string]interface{})
	filters["name"] = name

	// 获取用户列表
	userList := Mobile.GetUserList(filters)

	var result = make(map[string]interface{})
	result["data"] = userList
	Util.OkWithData(result, c)
}

// AddUser 添加用户
func AddUser(c *gin.Context) {

}

/*-------------- 用户相关操作 end--------------*/

/*-------------- log相关操作 start--------------*/

// LogList 日志记录
func LogList(c *gin.Context) {

}

// AddLog 添加记录
//func AddLog(c *gin.Context) {
//
//}

/*-------------- log相关操作 end--------------*/
